/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Lenovo
 * Date: 2025-03-30
 * Time: 19:09
 */
public class Main {
    public static void main(String[] args) throws CloneNotSupportedException {
        // 创建原始Person对象

        // person1.money指向内存中的Money对象A（地址假设为0x100）
        Person person1 = new Person("张三");

        // 克隆对象（触发深拷贝）
        // person2.money指向新Money对象B（地址0x200）
        Person person2 = (Person) person1.clone();

        // 打印克隆操作前的数据
        System.out.println("通过person2修改前的结果");
        System.out.println(person1.money.m); // 输出原对象A的值：88.8
        System.out.println(person2.money.m); // 输出新对象B的值：88.8（值复制）

        // 修改克隆对象数值
        person2.money.m = 99.9;//修改对象B的值

        // 验证深拷贝结果
        System.out.println("通过person2修改后的结果");
        System.out.println(person1.money.m); // 输出：88.8  --原对象A,person1保持原值88.8
        System.out.println(person2.money.m); // 输出：99.9  --克隆对象B，person2变为99.9
    }
}
